﻿using System;

namespace RG.Common
{
    public interface IFirePropertyChanged : Maria.Common.Aspects.IFirePropertyChanged
    {
    }

    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
    public class SupportDataBindingAttribute : Maria.Common.Aspects.SupportDataBindingAttribute
    {
    }

    [AttributeUsage(AttributeTargets.Property)]
    public class AddPropertyChangedAttribute : Maria.Common.Aspects.AddPropertyChangedAttribute
    {
        public AddPropertyChangedAttribute(string p1) : base(p1) { }
        public AddPropertyChangedAttribute(string p1, string p2) : base(p1,p2) { }
        public AddPropertyChangedAttribute(string p1, string p2, string p3) : base(p1,p2,p3) { }
        public AddPropertyChangedAttribute(string p1, string p2, string p3, string p4) : base(p1, p2, p3, p4) { }
        public AddPropertyChangedAttribute(string p1, string p2, string p3, string p4, string p5) : base(p1, p2, p3, p4, p5) { }
        public AddPropertyChangedAttribute(string p1, string p2, string p3, string p4, string p5, string p6) : base(p1, p2, p3, p4, p5, p6) { }
        public AddPropertyChangedAttribute(string p1, string p2, string p3, string p4, string p5, string p6, string p7) : base(p1, p2, p3, p4, p5, p6, p7) { }
        public AddPropertyChangedAttribute(string p1, string p2, string p3, string p4, string p5, string p6, string p7, string p8) : base(p1, p2, p3, p4, p5, p6, p7, p8) { }
        public AddPropertyChangedAttribute(string[] p) : base(p) { }
    }

    [AttributeUsage(AttributeTargets.Property)]
    public class DependOnAttribute : Maria.Common.Aspects.DependOnAttribute
    {
        public DependOnAttribute(string p1) : base(p1) { }
        public DependOnAttribute(string p1, string p2) : base(p1,p2) { }
        public DependOnAttribute(string p1, string p2, string p3) : base(p1,p2,p3) { }
        public DependOnAttribute(string p1, string p2, string p3, string p4) : base(p1, p2, p3, p4) { }
        public DependOnAttribute(string p1, string p2, string p3, string p4, string p5) : base(p1, p2, p3, p4, p5) { }
        public DependOnAttribute(string p1, string p2, string p3, string p4, string p5, string p6) : base(p1, p2, p3, p4, p5, p6) { }
        public DependOnAttribute(string p1, string p2, string p3, string p4, string p5, string p6, string p7) : base(p1, p2, p3, p4, p5, p6, p7) { }
        public DependOnAttribute(string p1, string p2, string p3, string p4, string p5, string p6, string p7, string p8) : base(p1, p2, p3, p4, p5, p6, p7, p8) { }
        public DependOnAttribute(string[] p) : base(p) { }
    }
}
